﻿// CTESTDLG.cpp: 实现文件
//

#include "pch.h"
#include "Usart.h"
#include "afxdialogex.h"
#include "CTESTDLG.h"
#include "SerialPort.h"

extern CSerialPort com1;//类对象？
// CTESTDLG 对话框

IMPLEMENT_DYNAMIC(CTESTDLG, CDialogEx)

CTESTDLG::CTESTDLG(CWnd* pParent /*=nullptr*/)
	: CDialogEx(IDD_TESTDLG, pParent)
{

}

CTESTDLG::~CTESTDLG()
{
}

void CTESTDLG::DoDataExchange(CDataExchange* pDX)
{
	CDialogEx::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_EDIT1, n_portname);
	DDX_Control(pDX, IDC_EDIT2, n_commname);
}


BEGIN_MESSAGE_MAP(CTESTDLG, CDialogEx)
//	ON_EN_CHANGE(IDC_EDIT1, &CTESTDLG::OnEnChangeEdit1)
ON_BN_CLICKED(IDC_UPDATA, &CTESTDLG::OnBnClickedUpdata)
END_MESSAGE_MAP()


// CTESTDLG 消息处理程序


//void CTESTDLG::OnEnChangeEdit1()
//{
	// TODO:  如果该控件是 RICHEDIT 控件，它将不
	// 发送此通知，除非重写 CDialogEx::OnInitDialog()
	// 函数并调用 CRichEditCtrl().SetEventMask()，
	// 同时将 ENM_CHANGE 标志“或”运算到掩码中。

	// TODO:  在此添加控件通知处理程序代码
//}


BOOL CTESTDLG::OnInitDialog()
{
	CDialogEx::OnInitDialog();

	// TODO:  在此添加额外的初始化
	CString strln;
	int i = 0;
	while (i != com1.comm_ports_num) {
		strln = strln + com1.active_comm_ports[i].PortName + TEXT(" \r\n");
		i++;
	}
	n_portname.SetWindowTextW(strln);
	
	strln = "";
	i = 0;
	while (i != com1.comm_ports_num) {
		strln = strln + com1.active_comm_ports[i].CommName+ TEXT(" \r\n");
		i++;
	}
	n_commname.SetWindowTextW(strln);

	return TRUE;  // return TRUE unless you set the focus to a control
	// 异常: OCX 属性页应返回 FALSE
}


void CTESTDLG::OnBnClickedUpdata()
{
	// TODO: 在此添加控件通知处理程序代码
	CString strln;
	int i = 0;
	while (i != com1.comm_ports_num) {
		strln = strln + com1.active_comm_ports[i].PortName + TEXT(" \r\n");
		i++;
	}
	n_portname.SetWindowTextW(strln);

	strln = "";
	i = 0;
	while (i != com1.comm_ports_num) {
		strln = strln + com1.active_comm_ports[i].CommName + TEXT(" \r\n");
		i++;
	}
	n_commname.SetWindowTextW(strln);
}
